/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package genericos;

import java.sql.Date;
import java.util.ArrayList;
import java.util.List;

/**
 * Clase que forma cada una de las listas de valores para la insercion o para la
 * modificacion de determinados datos
 *
 * @author Fernando Ramírez Martínez <Servicios Disaster Recovery>
 * @see Cambionodo
 * @see Cambio
 * @see Insercion
 * @see Insernodo
 */
public class ListaNodos {

    static List<Insernodo> listain = new ArrayList<Insernodo>();
    static List<Cambionodo> listaca = new ArrayList<Cambionodo>();
    
    public static void agregainsert(String campo, Double valor) {
        listain.add(new Insernodo(campo, valor));
    }
    /**
     * Metodo estatico sobrecargado para agregar un elemento a insertar que
     * tiene 3 variantes Donde se pone una cadena como valor
     *
     * @param campo nombre de el campo de tabla
     * @param valor valor string del campo asociado a la tabla
     */
    public static void agregainsert(String campo, String valor) {
        listain.add(new Insernodo(campo, valor));
    }

    /**
     * Metodo estatico sobrecargado para agregar un elemento a insertar que
     * tiene 3 variantes Donde se pone una cadena como valor
     *
     * @param campo nombre de el campo de tabla
     * @param valor valor entero del campo asociado a la tabla
     */
    public static void agregainsert(String campo, int valor) {
        listain.add(new Insernodo(campo, valor));
    }

    /**
     * Metodo estatico sobrecargado para agregar un elemento a insertar que
     * tiene 3 variantes Donde se pone una Date como valor
     *
     * @param campo nombre de el campo de tabla
     * @param valor valor fecha (Date) para el campo asociado
     */
    public static void agregainsert(String campo, Date valor) {
        listain.add(new Insernodo(campo, valor));
    }

    /**
     * Realiza una conversion a un arreglo de objetos Insernodo en base a la
     * lista que se formo con los metodos agregainsert
     *
     * @return devulve un arreglo de Insernodos
     * @see Insernodo
     */
    public static Insernodo[] conversion_inser() {
        Insernodo[] arr = new Insernodo[listain.size()];
        for (int i = 0; i < listain.size(); i++) {
            arr[i] = listain.get(i);
        }
        return arr;
    }

    /**
     * Metodo estatico sobrecargado que agrega un elemento a la lista para
     * generar un update tiene 3 vertientes donde valor es String .
     *
     * @param Campo nombre del campo de tabla.
     * @param valor valor del String asociado.
     */
    public static void agregacam(String Campo, String valor) {
        listaca.add(new Cambionodo(Campo, valor));
    }
     public static void agregacamexp(String Campo, String valor) {
        listaca.add(new Cambionodo(Campo, valor,0));
    }
    /**
     * Metodo estatico sobrecargado que agrega un elemento a la lista para
     * generar un update tiene 3 vertientes donde valor es entero .
     *
     * @param Campo nombre del campo de tabla.
     * @param valor valor del entero asociado.
     */
    public static void agregacam(String Campo, int valor) {
        listaca.add(new Cambionodo(Campo, valor));
    }
 public static void agregacam(String Campo, Double valor) {
        listaca.add(new Cambionodo(Campo, valor));
    }
    /**
     * Metodo estatico sobrecargado que agrega un elemento a la lista para
     * generar un update tiene 3 vertientes donde valor es Date.
     *
     * @param Campo nombre del campo de tabla.
     * @param valor valor de la fecha asociada.
     */
    public static void agregacam(String Campo, Date valor) {
        listaca.add(new Cambionodo(Campo, valor));
    }

    /**
     * Realiza una conversion a un arreglo de objetos Cambionodo en base a la
     * lista que se formo con los metodos agregacam
     *
     * @return Arreglo de objetos Cambionodo
     * @see Cambionodo
     */
    public static Cambionodo[] conversion_upd() {
        Cambionodo[] arr = new Cambionodo[listaca.size()];
        for (int i = 0; i < listaca.size(); i++) {
            arr[i] = listaca.get(i);
        }
        return arr;
    }
    
    public static void borradoinser(){
       listain=new ArrayList<Insernodo>();
        
    }
    public static void borradoact(){
      listaca=new ArrayList<Cambionodo>();
}
}